/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.mzk.kramerius.imagelinkfixer;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author rehan
 */
public class PageFilenameMapping {

    private final List<String> filenames;

    /**
     *
     * @param mappingFile file containing on each line name of image file Order of the files must
     * correspond to order of pages in Kramerius
     */
    public PageFilenameMapping(File mappingFile) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader(mappingFile));
        filenames = new ArrayList<String>();
        while (reader.ready()) {
            String filename = reader.readLine();
            if (!filename.endsWith(".jp2")) {
                throw new IllegalArgumentException("incorrect filename '" + filename + "'");
            }
            filenames.add(filename);
        }
    }

    public String getFilename(int position) {
        return filenames.get(position);
    }

    private static List<String> initMapping() {
        List<String> result = new ArrayList<String>();
        result.add("A001");
        result.add("A002");
        result.add("A003");
        result.add("A004");
        result.add("A005");
        result.add("A006");
        result.add("A007");
        result.add("A008");
        result.add("MAPA_01");
        result.add("MAPA_02");
        result.add("MAPA_03");
        result.add("MAPA_04");
        result.add("MAPA_05");
        result.add("MAPA_06");
        result.add("MAPA_07");
        result.add("MAPA_08");
        result.add("MAPA_09");
        result.add("MAPA_10");
        result.add("MAPA_11");
        result.add("MAPA_12");
        result.add("MAPA_13");
        result.add("MAPA_14");
        result.add("MAPA_15");
        result.add("MAPA_16");
        result.add("MAPA_17");
        result.add("MAPA_18");
        result.add("MAPA_19");
        result.add("MAPA_20");
        result.add("MAPA_21");
        result.add("MAPA_22");
        result.add("MAPA_23");
        result.add("MAPA_24");
        result.add("MAPA_25");
        result.add("MAPA_26");
        result.add("MAPA_27");
        result.add("MAPA_28");
        result.add("MAPA_29");
        result.add("MAPA_30");
        result.add("MAPA_31");
        result.add("MAPA_32");
        result.add("MAPA_33");
        result.add("MAPA_34");
        result.add("MAPA_35");
        result.add("MAPA_36");
        result.add("MAPA_37");
        result.add("MAPA_38");
        result.add("MAPA_39");
        result.add("MAPA_40");
        result.add("MAPA_41");
        result.add("MAPA_42");
        result.add("MAPA_43");
        result.add("MAPA_44");
        result.add("MAPA_45");
        result.add("MAPA_46");
        result.add("Z001");
        return result;
    }
}
